package com.operator.Activitys.adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;

import com.operator.Activitys.R;
import com.operator.Activitys.adapter.base.BaseRecyclerViewAdapter;
import com.operator.Activitys.bean.PurchaseOrder;
import com.zhy.autolayout.utils.AutoUtils;

import java.util.List;

import butterknife.Bind;
import butterknife.ButterKnife;

/**
 * 项目名称：金泽云 手机app
 * 类描述：进货订单 适配器
 * 创建人：张飞祥
 * 创建时间：2018/5/29 10:58
 * 修改人：张飞祥
 * 修改时间：2018/5/29 10:58
 * 修改备注：
 */
public class PurchaseOrderAdapter extends BaseRecyclerViewAdapter {



    //上下文
    private Context mContext;
    //数据集合
    private List<PurchaseOrder> mList;

    public PurchaseOrderAdapter(Context mContext, List<PurchaseOrder> mList) {
        super(mContext, mList);
        this.mContext = mContext;
        this.mList = mList;
    }

    @Override
    protected int getLayoutItemResId() {
        return R.layout.item_purchase_order;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {

        //TODO 获取通讯供求 信息 viewHolder
        final PurchaseOrderViewHolder holder = (PurchaseOrderViewHolder) viewHolder;
        //TODO  将数据保存在itemView的Tag中，以便点击时进行获取
        holder.itemView.setTag(position);
        //TODO  获取数据源 第 i 个 实体数据
        PurchaseOrder po = mList.get(position);

        /**
         * 设置数据源
         */
        //订单号
        holder.tvItemOrderId.setText(po.getOrderId() + "");
        //联通卡号 进货数量
        holder.tvItemUnicomNumber.setText(po.getUnicomCardNum() + "张");
        //移动卡号 进货数量
        holder.tvItemMoveNumber.setText(po.getCMCC_CardNum() + "张");
        //电信卡号 进货数量
        holder.tvItemTelecomNumber.setText(po.getTelecomCardNum() + "张");
        //170卡号 进货数量
        holder.tvItemOtherNumber.setText(po.getCardOf170Num() + "张");
        //进货方式
        holder.tvItemOrderType.setText(po.getShoppingMethod());

        //快递单号
        if (po.getAirWayBillNo()!=null && !po.getAirWayBillNo().equals(""))
            holder.tvItemExpressNumber.setText(po.getAirWayBillNo());
        else
            holder.tvItemExpressNumber.setText("暂无快递单号");

        //下单时间
        holder.tvItemOrderTime.setText(po.getCreateTime());

        /**
         *  发货状态 （待发货、已发货、拒绝发货）
         */
        //设置发货状态
        holder.tvItemOrderState.setText(po.getState());
        //TODO 判断 发货状态 来设计 背景色
        if ("已发货".equals(po.getState()))
            holder.tvItemOrderState.setSelected(true);
        else
            holder.tvItemOrderState.setSelected(false);

    }


    @Override
    public RecyclerView.ViewHolder getViewHolder(View view) {
        return new PurchaseOrderViewHolder(view);
    }


    /**
     * ViewHolder
     */
    public class PurchaseOrderViewHolder extends RecyclerView.ViewHolder {

        //订单号
        @Bind(R.id.tv_item_order_id)
        TextView tvItemOrderId;
        //发货状态（待发货、已发货、拒绝发货）
        @Bind(R.id.tv_item_order_state)
        TextView tvItemOrderState;
        //联通卡号 进货数量
        @Bind(R.id.tv_item_unicom_number)
        TextView tvItemUnicomNumber;
        //移动卡号 进货数量
        @Bind(R.id.tv_item_move_number)
        TextView tvItemMoveNumber;
        //电信卡号 进货数量
        @Bind(R.id.tv_item_telecom_number)
        TextView tvItemTelecomNumber;
        //170卡号 进货数量
        @Bind(R.id.tv_item_other_number)
        TextView tvItemOtherNumber;
        //进货方式
        @Bind(R.id.tv_item_order_type)
        TextView tvItemOrderType;
        //快递单号
        @Bind(R.id.tv_item_express_number)
        TextView tvItemExpressNumber;
        //下单时间
        @Bind(R.id.tv_item_order_time)
        TextView tvItemOrderTime;

        public PurchaseOrderViewHolder(View itemView) {
            super(itemView);
            //绑定控件
            ButterKnife.bind(this, itemView);
            //item 适配
            AutoUtils.autoSize(itemView);
        }
    }

}
